package com.sfj.system.dto.task;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author kaka
 * @Date 2025/07/01
 */
@Data
@ApiModel("单个督办任务实体对象")
public class TaskGetDescQueryDTO {
    @ApiModelProperty(value = "任务ID", example = "1001")
    private Integer taskId;

    @ApiModelProperty(value = "督办来源", example = "上级交办")
    private String source;

    @ApiModelProperty(value = "问题类型", example = "安全生产")
    private String problemType;

    @ApiModelProperty(value = "督察要求", example = "请在一周内完成整改")
    private String requirements;

    @ApiModelProperty(value = "领导批示(0-否,1-是)", example = "true")
    private Boolean leaderInstruction;

    @ApiModelProperty(value = "批示备注", example = "请高度重视")
    private String leaderRemark;

    @ApiModelProperty(value = "批示附件", example = "attachment.pdf")
    private String leaderFile;

    @ApiModelProperty(value = "整改人员ID列表(逗号分隔)", example = "101,102,103")
    private String rfUsers;
    @ApiModelProperty(value = "已接收人员(逗号分隔)", example = "101,102,103")
    private String receiveUsers;
    @ApiModelProperty(value = "反馈人员(逗号分隔)", example = "101,102,103")
    private String fbUsers;
    @ApiModelProperty(value = "反馈复核人员(逗号分隔)", example = "101,102,103")
    private String rwUsers;

    @ApiModelProperty(value = "整改单位ID列表", example = "101, 102")
    private String rfUnits;
    @ApiModelProperty(value = "已接收单位ID列表", example = "101, 102")
    private String receiveUnits;
    @ApiModelProperty(value = "已反馈单位ID列表", example = "101, 102")
    private String fbUnits;
    @ApiModelProperty(value = "反馈复核单位ID列表", example = "101,102,103")
    private String rwUnits;

    @ApiModelProperty(value = "整改开始日期(时间戳)", example = "1672502400000")
    private LocalDateTime rfStartDate;

    @ApiModelProperty(value = "整改结束日期(时间戳)", example = "1673107200000")
    private LocalDateTime rfEndDate;

    @ApiModelProperty(value = "审核人ID", example = "201")
    private Integer auditor;

    @ApiModelProperty(value = "备注", example = "紧急任务")
    private String remark;

    @ApiModelProperty(value = "填报单位ID", example = "10")
    private Integer reportDeptId;

    @ApiModelProperty(value = "填报人ID", example = "301")
    private Integer reportUserId;

    @ApiModelProperty(value = "任务附件", example = "task_file.pdf")
    private String taskFile;

    @ApiModelProperty(value = "审批意见", example = "审批不通过")
    private String message;

    @ApiModelProperty(
            value = "任务状态",
            example = "review",
            allowableValues = "review,notReceived,processing,processed,pendingReview,reviewed"
    )
    private String status;

    @ApiModelProperty(value = "反馈不通过人员ID列表(逗号分隔)", example = "101,102,103")
    private String rjUsers;

    @ApiModelProperty(value = "问题列表")
    private List<TaskProblemDescDTO> problemList;
}
